Test-NetConnection

Test-NetConnection или tnc — готовый к использованию командлет для проверки сетевого подключения появился в PowerShell 4.0 (Windows 2012 R2, Windows 8.1)

  1. Проверить интернет соединение

    tnc Оторазит ip и имя сетевой карты, черз коорую идет подключение

  2. Проверить tcp порт

    tnc i.ua -p 443

    Не выполнять ping -InformationLevel Quiet

    tnc i.ua -port 443 -InformationLevel Quiet

  3. Можно указать имя службы (HTTP, RDP, SMB, WINRM)

    tnc unac.mlp.pp.ua -CommonTCPPort RDP

  4. TraceRoute

    tnc i.ua -TraceRoute

Запустить Webserver на 3000 порту

var 1. Однострочник.

$listener = [System.Net.Sockets.TcpListener]3000; $listener.Start(); while ($true) { $client = $listener.AcceptTcpClient(); $stream = $client.GetStream(); $writer = New-Object System.IO.StreamWriter($stream); $writer.WriteLine("Hello from port 3000"); $writer.Flush(); $client.Close(); }

Поверить

netstat -aont | findstr 3000

var 2. Этот скрипт создаёт HTTP-сервер, который отвечает на входящие запросы на порту 3000

PowerShell HTTP-сервер (работает на Windows Server)

$listener = New-Object System.Net.HttpListener
$listener.Prefixes.Add("http://+:3000/")
$listener.Start()
Write-Host "HTTP-run in tcp 3000..."

while ($listener.IsListening) {
    $context = $listener.GetContext()
    $response = $context.Response

    $html = "

Hello from PowerShell HTTP Server

" $buffer = [System.Text.Encoding]::UTF8.GetBytes($html) $response.ContentLength64 = $buffer.Length $response.ContentType = "text/html" $response.OutputStream.Write($buffer, 0, $buffer.Length) $response.OutputStream.Close() }

Сохранить в файл http_server_port3000.ps1 и запутить от Админа

powershell -ExecutionPolicy Bypass -File .\http_server_port3000.ps1

Проверяем

telnet 127.0.0.1 3000

curl 127.0.0.1:3000